本文从无约束的优化问题、有等式约束的优化问题和等式和不等式约束的优化问题三种优化问题的几何意义入手,讲解了L1 正则化和 L2 正则化的几何含义,进而推广至正则化的一般形式: $L_q$ 正则化 和 Elastic Net 正则化,得到L1 正则化和 L2 正则化的折中版本。
三种优化问题
通常我们求解的最优化问题可以分为以下三类:
无约束的优化问题:
$min f(X)$
这是最简单的情况,解决方法通常是 $f(X)$ 的导数 $f’(X)$ ,然后令 $f’(X) = 0$ ,可以求得极值点,再将这些极值点带入原函数验证即可;如果是凸函数,极值点即为最优解。
其几何含义是:
有等式约束的优化问题
$min f(X)$
$s.t. g(X) = 0$
注:$s.t.$ 表示约束条件。
常常使用的方法就是拉格朗日乘子法(Lagrange Multiplier ) ,即写成 $ L(\lambda ,X) = f(X) + \lambda g(X)$,称为拉格朗日函数,系数 $\lambda$ 称为拉格朗日乘子。通过 $L(\lambda ,X) $对各个变量 $(X, \lambda )$ 求偏导,令其为零,可以求得极值点集合,然后验证求得最优值。
其几何含义是:
等式和不等式约束的优化问题
$min f(X)$
$s.t. g(X) = 0$
$h(X) \le 0$
注: $s.t.$ 表示约束条件。
常常使用的方法就是 KKT 条件。$ L(\mu, \lambda ,X) = f(X) + \lambda g(X) + \mu h(X)$,利用最优值的必要条件 (KKT条件):
- $ L(\mu, \lambda ,X)$ 对变量的导数为 0
- $g(X) = 0$
- $\mu h(X) = 0$
求取这些等式之后就能得到候选最优值。其中第三个式子非常有趣,因为 $h(X) \le 0$,如果要满足这个等式,必须 $\mu=0$ 或者 $h(X) = 0$。
那么 KTT 的几何含义是什么呢?
L1 正则化和 L2 正则化的几何含义
L1 正则化通常称为 Lasso 正则化:
$J(\theta) = -\sum\limits_{i=1}^{m}(y^{(i)}log(h_{\theta}(x^{(i)}))+ (1-y^{(i)})log(1-h_{\theta}(x^{(i)})))+\frac{\lambda}{m}\sum\limits_{j=1}^n|\theta_j|$
L2 正则化通常称为 Ridge 正则化:
$J(\theta) = -\sum\limits_{i=1}^{m}(y^{(i)}log(h_{\theta}(x^{(i)}))+ (1-y^{(i)})log(1-h_{\theta}(x^{(i)})))+\frac{\lambda}{2m}\sum\limits_{j=1}^n\theta_j^2$
我们可以写成统一的形式:
$ J(\theta, \mu)= f(\theta) + \mu h(\theta) \Leftrightarrow J(\theta, \mu)= f(\theta) + \mu(h(\theta) - \eta) $
其中 $\eta$ 为常数,不影响最优解的求解。
可以还原为:
$min f(\theta)$
$s.t. h(\theta)-\eta \leq 0$
那么他们的几何含义是:
对于 L1 正则化 ( Lasso 正则化):$h(\theta) = \sum\limits_{j=1}^n|\theta_j|$
对于 L2 正则化 ( Ridge 正则化):$h(\theta) = \sum\limits_{j=1}^n\theta_j^2$
Q:以下哪个图形是 L1 正则化, 哪个图形是 L2 正则化 ?
左边的图为 L1 正则化,右图为 L2 正则化。
因为 对于 L1 正则化而言 $h(\theta) = |w_1| + |w_2| \leq \eta$ ,在图中表示一个菱形区域。
对于 L2 正则化而言 $h(\theta) = w_1^2 + w_2^2 \leq \eta$ ,在图中表示一个圆形区域。
Q1:为什么L1 正则化可以获得稀疏特征?
不同的维度系数一般都是不一样的,因此常见的损失函数图像是一个椭圆形,调整参数$\lambda$ 的值,椭圆形和菱形的交接处很大可能性会落在坐标轴附近;实际使用的特征维度是高维的,正常情况下就是在某些维度上不会交于坐标轴上,在某些维度上交于坐标轴或坐标轴附近,所以才有稀疏解;与L2正则化相比,L1正则化更容易得到稀疏解,而不是一定会得到稀疏解,毕竟还是有特例的(比如恰好椭圆与坐标原点相交)。
Q2:$\lambda$ 变大,菱形和圆形怎么变化?
$\lambda$ 越大,菱形和圆形越小,求得的模型参数越小。
Q3:为什么 L2 正则化比 L1 正则化应用更加广泛?
因为 L2 正则化的约束边界光滑且可导,便于采用梯度下降法,而L1正则化不可导,只能采用坐标轴下降法或最小角回归法,计算量大。而且,L1 正则化的效果并不会比 L2 正则化好(自己的见解)。
L1 正则化和 L2 正则化正则化的推广
逻辑回归正则化可以写成统一的形式 $L_q$ 正则化:
其中 $q \ge 0$。不同的 q 值对应着不同的约束边界,如下图所示:
从上图可以看出,
$q = 1$ 对应着 L1 正则化, $q = 2$ 对应着 L2 正则化。
而当 $q < 1$ 时,约束边界为非凸函数,求解最优值非常困难。 $q=1$ 是满足约束边界为凸的最小值。
当 $q \le1$ 时,约束边界在坐标轴上不可导,为非光滑函数,不能用梯度下降法进行求解。
对于 $q ∈ (1, 2)$ 的情况是 L1 正则化和 L2 正则化的折中,同时具有两者的优点。此时的约束边界为凸边界,既具有 L2 正则化的光滑可导性,同时具有 L1 正则化获得稀疏特征的优点。
实践表明,对于 $q >2$ 的情况,效果并不会比 $q ∈ [1, 2]$ 好,没必要进行讨论。
Zou 和 Hastie (2005) 引入了 Elastic Net 正则化,可以通过参数 $\alpha$ 调节L1正则化和L2正则化的权重
即:
如下图为 $q = 1.2$ 时的 $L_q$ 正则化 和 $\alpha = 0.2$ 时的 Elastic Net 正则化,两种不同的方式对 L1 正则化和 L2 正则化进行了折中。这两种方法均继承了 L1 正则化获得稀疏矩阵的优点。至于光滑可导性,乍一看二者没什么区别,实际上 $L_q$ 正则化在坐标处是可导的,而 Elastic Net 正则化在坐标处是不可导的。